]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
extensions-app: Create about dialog from metainfo
authorFlorian Müllner <fmuellner@gnome.org>
Wed, 31 Jan 2024 02:11:08 +0000 (03:11 +0100)
committerMarge Bot <marge-bot@gnome.org>
Thu, 1 Feb 2024 12:11:17 +0000 (12:11 +0000)
Using the existing metainfo to populate the about window means that
we stop duplicating information, which is generally a good idea.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3158>

subprojects/extensions-app/data/meson.build
subprojects/extensions-app/data/metainfo/meson.build
subprojects/extensions-app/data/org.gnome.Extensions.data.gresource.xml.in
subprojects/extensions-app/js/extensionsWindow.js

index 367c56d285a3e50542a4dc4c4a38875e6a1f9280..920d57872352e4ffd70380fb4b4ecc0ac203540f 100644 (file)
@@ -1,10 +1,18 @@
+subdir('icons')
+subdir('metainfo')
+
 gnome.compile_resources(
   app_id + '.data',
   configure_file(
     input: base_id + '.data.gresource.xml.in',
     output: app_id + '.data.gresource.xml',
-    configuration: {'profile': '/'.join(profile.split('.')) },
+    configuration: {
+      'app_id': app_id,
+      'profile': '/'.join(profile.split('.')),
+    },
   ),
+  dependencies: [metainfo],
+  source_dir: ['.', meson.current_build_dir()],
   gresource_bundle: true,
   install: true,
   install_dir: pkgdatadir
@@ -46,7 +54,4 @@ configure_file(
   install_dir: servicedir,
 )
 
-subdir('icons')
-subdir('metainfo')
-
 install_data(base_id + '.gschema.xml', install_dir: schemadir)
index a7a823034bec0ba4e7274a1c1c93040de6daa231..98328736f3ac93e16c40352d229c6a7d35a8ce65 100644 (file)
@@ -1,18 +1,17 @@
-metainfo = app_id + '.metainfo.xml'
-i18n.merge_file(
+metainfo = i18n.merge_file(
   input: configure_file(
     input: base_id + '.metainfo.xml.in',
     output: app_id + '.metainfo.xml.in',
     configuration: {'app_id': app_id},
   ),
-  output: metainfo,
+  output: '@BASENAME@',
   po_dir: po_dir,
   install: true,
   install_dir: metainfodir
 )
 
 if (appstream_util.found())
-  test('Validating via appstream_util ' + metainfo,
+  test('Validating metainfo via appstream_util',
     appstream_util,
     args: ['validate', '--nonet', metainfo],
     workdir: meson.current_build_dir()
@@ -21,7 +20,7 @@ endif
 
 # Validate Appdata
 if (appstreamcli.found())
-  test('Validating ' + metainfo,
+  test('Validating metainfo',
     appstreamcli,
     args: ['validate', '--no-net', metainfo],
     workdir: meson.current_build_dir()
index fe9cbad08b773a72487227416ff2b74c2c78db0b..448090fd86694dba415955c1ad20c985d3af2daa 100644 (file)
@@ -13,6 +13,7 @@
 
   <gresource prefix="/org/gnome/Extensions">
     <file>dbus-interfaces/org.gnome.Shell.Extensions.xml</file>
+    <file preprocess="xml-stripblanks" alias="metainfo.xml">metainfo/@app_id@.metainfo.xml</file>
 
     <file>ui/extension-row.ui</file>
     <file>ui/extensions-window.ui</file>
index 25b9910ad179e3f0940db569978a4ee33fbb68aa..c8086c61556945d75a066aa0d2acdf66651cdc3c 100644 (file)
@@ -2,7 +2,6 @@ import Adw from 'gi://Adw?version=1';
 import GLib from 'gi://GLib';
 import Gio from 'gi://Gio';
 import GObject from 'gi://GObject';
-import Gtk from 'gi://Gtk?version=4.0';
 import Shew from 'gi://Shew';
 
 const Package = imports.package;
@@ -141,7 +140,11 @@ export const ExtensionsWindow = GObject.registerClass({
     }
 
     _showAbout() {
-        const aboutDialog = new Adw.AboutDialog({
+        const [version] = Package.version.split(' ');
+        const aboutDialog = Adw.AboutDialog.new_from_appdata(
+            '/org/gnome/Extensions/metainfo.xml', version);
+
+        aboutDialog.set({
             developers: [
                 'Florian Müllner <fmuellner@gnome.org>',
                 'Jasper St. Pierre <jstpierre@mecheye.net>',
@@ -153,13 +156,7 @@ export const ExtensionsWindow = GObject.registerClass({
                 'Tobias Bernard <tbernard@gnome.org>',
             ],
             translator_credits: _('translator-credits'),
-            application_name: _('Extensions'),
-            license_type: Gtk.License.GPL_2_0,
-            application_icon: Package.name,
             version: Package.version,
-            developer_name: _('The GNOME Project'),
-            website: 'https://apps.gnome.org/app/org.gnome.Extensions/',
-            issue_url: 'https://gitlab.gnome.org/GNOME/gnome-shell/issues/new',
         });
         aboutDialog.present(this);
     }